package com.bookocean.infrastructure.persistence.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 小说PO类
 * 
 * @author BookOcean
 * @since 2024-01-01
 */
@Data
@TableName("novel_po")
public class NovelPO {

    /**
     * 小说ID
     */
    @TableId(value = "novel_id", type = IdType.AUTO)
    private Long novelId;

    /**
     * 小说标题
     */
    @TableField("title")
    private String title;

    /**
     * 封面URL
     */
    @TableField("cover_url")
    private String coverUrl;

    /**
     * 简介
     */
    @TableField("description")
    private String description;

    /**
     * 题材标签
     */
    @TableField("genre")
    private String genre;

    /**
     * 是否多人创作（0：单人，1：多人）
     */
    @TableField("is_multiplayer")
    private Boolean isMultiplayer;

    /**
     * 状态（1：招募中，2：进行中，3：已完结）
     */
    @TableField("status")
    private Integer status;

    /**
     * 预设章节数（可选）
     */
    @TableField("max_chapters")
    private Integer maxChapters;

    /**
     * 创建者ID
     */
    @TableField("creator_id")
    private Long creatorId;

    /**
     * 当前章节数
     */
    @TableField("chapter_count")
    private Integer chapterCount;

    /**
     * 阅读数
     */
    @TableField("view_count")
    private Integer viewCount;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 完结时间
     */
    @TableField("completed_at")
    private LocalDateTime completedAt;
}